import {Collection} from "java.util.Collection";
import {Iterable} from "java.lang.Iterable";
@document({ name: "列表类函数"})
@dslClass({ language: "java", code: "com.inspur.edp.rule.dsl.core.function.list.ListUtils"})
 export class ListUtils {

      @document({ name: "添加单个元素"})
      public static  add( @document({ name: "列表"}) list : Iterable, @document({ name: "元素"}) element : any )  : void ;


      @document({ name: "添加多个元素"})
      public static  addAll( @document({ name: "列表"}) list : Iterable, @document({ name: "元素列表"}) addingList : Iterable )  : void ;


      @document({ name: "列表长度"})
      public static  size( @document({ name: "列表"}) list : Iterable )  : int ;


	  @document({ name: "是否包含元素"})
      public static  contains( @document({ name: "列表"}) list : Iterable , @document({ name: "元素"}) element : any)  : boolean ;


      @document({ name: "基于字段求和"})
      public static  sumByField( @document({ name: "列表"}) list : Iterable , @document({ name: "字段名"}) @Help({kind:"collectionField" , index: "0"}) fieldName : string )  : number ;


     @document({ name: "基于字段排序"})
      public static  sortByField( @document({ name: "列表"}) list : Collection , @document({ name: "字段名"}) @Help({kind:"collectionField" , index: "0"}) fieldName : string,  @document({ name: "是否升序"}) asc : boolean )  : void ;


     @document({ name: "是否包含指定元素"})
     public static  includedInList( @document({ name: "列表"}) list : Iterable ,@document({ name: "要包含的元素"}) element : any )  : boolean ;


	 @document({ name: "获取指定字段值集合"})
     public static  getFieldStrings( @document({ name: "列表"}) list : Iterable , @document({ name: "字段名"}) @Help({kind:"collectionField" , index: "0"}) fieldName : string )  : list<string> ;


	 @document({ name: "获取指定字段值集合(去重)"})
     public static  getFieldDistinctStrings( @document({ name: "列表"}) list : Iterable , @document({ name: "字段名"}) @Help({kind:"collectionField" , index: "0"}) fieldName : string )  : list<string> ;

	 @document({ name: "创建字符串集合"})
	 public static  createStringCollection(@document({ name: "字符串集合"}) ... strings : string []): Collection<string> ;


 }